package edu.hubu.supermarketmanagementsystem.controller;

import edu.hubu.supermarketmanagementsystem.entity.ProductFile;
import edu.hubu.supermarketmanagementsystem.service.ProductFileService;
import edu.hubu.supermarketmanagementsystem.vo.ResultVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/productfile")
public class ProductFileController {

    @Autowired
    private ProductFileService productFileService;

    // 根据商品档案ID查询
    @GetMapping("/check")
    public ResultVO<ProductFile> getProductFileById(@RequestParam int productRecordId) {
        return productFileService.getProductFileById(productRecordId);
    }

    // 创建新的商品档案
    @PostMapping("/add")
    public ResultVO<String> createProductFile(@RequestBody ProductFile productFile) {
        return productFileService.insertProductFile(productFile);
    }

    // 更新商品档案
    @PutMapping("/update")
    public ResultVO<String> updateProductFile(@RequestBody ProductFile productFile) {
        return productFileService.updateProductFile(productFile);
    }

    // 删除商品档案
    @DeleteMapping("/delete")
    public ResultVO<String> deleteProductFile(@RequestParam int productRecordId) {
        return productFileService.deleteProductFileById(productRecordId);
    }

    // 查询所有商品档案
    @GetMapping("/list")
    public ResultVO<List<ProductFile>> listProductFiles() {
        return productFileService.getAllProductFiles();
    }

    // 根据商品ID查询商品档案
    @GetMapping("/productid")
    public ResultVO<ProductFile> getProductFileByProductId(@RequestParam int productId) {
        return productFileService.getProductFileByProductId(productId);
    }

    // 根据商品名称模糊查询商品档案
    @GetMapping("/search")
    public ResultVO<List<ProductFile>> searchProductFiles(@RequestParam String productName) {
        return productFileService.searchProductFileByName(productName);
    }
}
